//
//  CTCTabBar.m
//  ConsultantVersion
//
//  Created by 李小龙 on 2017/3/25.
//  Copyright © 2017年 jieshuibao. All rights reserved.
//

#import "CTCTabBar.h"
//#import <Masonry.h>

static float const CTCMargin = 0;

@interface CTCTabBar ()
@property (nonatomic, weak) UIButton *middleBtn;
//@property (nonatomic, weak) UILabel *middleLlabel;
@end

@implementation CTCTabBar

-(instancetype)initWithFrame:(CGRect)frame{
    self =[super initWithFrame: frame];
    if (self) {
        UIButton *middleBtn = [UIButton buttonWithType:UIButtonTypeCustom];
        [middleBtn setBackgroundImage:[UIImage imageNamed:@"tax"] forState:UIControlStateNormal];
        [middleBtn setBackgroundImage:[UIImage imageNamed:@"tax"] forState:UIControlStateHighlighted];
        [middleBtn addTarget:self action:@selector(middleBtnClick) forControlEvents:UIControlEventTouchUpInside];
        middleBtn.size =  middleBtn.currentBackgroundImage.size;;
        [self addSubview:middleBtn];
        self.middleBtn = middleBtn;
        self.middleBtn.tag = 1000;
        
        
//        UILabel *label = [[UILabel alloc] init];
//        label.text = @"财税圈";
//        label.font = SYSTEMFONT(10);
//        [label sizeToFit];
//        label.textColor = HEXCOLOR(0x666666);
//        self.middleLlabel = label;
//        self.middleLlabel.tag = 2000;
//        [self addSubview:self.middleLlabel];
        
    }
    
    return self;
}

-(void)layoutSubviews
{
    [super layoutSubviews];
    
    //去掉TabBar上部的横线
    for (UIView *view in self.subviews)
    {
        if ([view isKindOfClass:[UIImageView class]] && view.bounds.size.height <= 1)   //横线的高度为0.5
        {
            UIImageView *line = (UIImageView *)view;
            line.hidden = YES;
        }
    }
    
    self.middleBtn.centerX = App_Frame_Width *0.5;
    //调整发布按钮的中线点Y值
    self.middleBtn.centerY = 49 * 0.5 - 2*CTCMargin;
//    self.middleLlabel.centerX = self.middleBtn.centerX;
//    self.middleLlabel.centerY = CGRectGetMaxY(self.middleBtn.frame) + CTCMargin ;
    
}


/**
 点击了加号按钮
 */
-(void)middleBtnClick
{
    // 通知代理
    if ([self.tabBarDelegate respondsToSelector:@selector(tabBarDidClickMiddleBtnClick:)]) {
        [self.tabBarDelegate tabBarDidClickMiddleBtnClick:self];
    }
}

//重写hitTest方法，去监听发布按钮的点击，目的是为了让凸出的部分点击也有反应
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
    
    //这一个判断是关键，不判断的话push到其他页面，点击发布按钮的位置也是会有反应的，这样就不好了
    //self.isHidden == NO 说明当前页面是有tabbar的，那么肯定是在导航控制器的根控制器页面
    //在导航控制器根控制器页面，那么我们就需要判断手指点击的位置是否在发布按钮身上
    //是的话让发布按钮自己处理点击事件，不是的话让系统去处理点击事件就可以了
    if (self.isHidden == NO) {
        
        //将当前tabbar的触摸点转换坐标系，转换到发布按钮的身上，生成一个新的点
//        CGPoint newPoint = [self convertPoint:point toView:self.middleBtn];
        
//        //判断如果这个新的点是在发布按钮身上，那么处理点击事件最合适的view就是发布按钮
//        if ( [self.middleBtn pointInside:newPoint withEvent:event]) {
//            return self.middleBtn;
//        }else{
//            //如果点不在发布按钮身上，直接让系统处理就可以了
//            return [super hitTest:point withEvent:event];
//        }
        
        return [super hitTest:point withEvent:event];
    }
    else {
        //tabbar隐藏了，那么说明已经push到其他的页面了，这个时候还是让系统去判断最合适的view处理就好了
        return [super hitTest:point withEvent:event];
    }
}
@end
